package com.junzhiit.nengji.shop.web.vo;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;

import com.bainaeco.framework.base.BaseObject;
import com.bainaeco.framework.util.DateUtil;
import com.bainaeco.framework.util.serializer.CustomDateSerializer;
import com.bainaeco.framework.util.serializer.CustomDateSerializerHMS;
import com.junzhiit.nengji.bo.MemberCardUseBO;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;

public class OrdersVO extends BaseObject {

	private static final long serialVersionUID = 3769879647415048658L;

	private String id;

	private String shopId;

	private String shopHeadImgUrl;

	private String shopName;

	@DateTimeFormat(pattern = DateUtil.DATE_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializer.class)
	private Date createdTime;

	private Integer status;

	private Double postage;

	private Integer payWay;

	@DateTimeFormat(pattern = DateUtil.DATETIME_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializerHMS.class)
	private Date payTime;

	private Double payMoney;

	private String orderNumber;

	private String addressId;

	private String mobilePhone;

	private String userName;

	private String address;

	private Double goodsPrice;

	private List<OrdersGoodsVO> goods = new ArrayList<OrdersGoodsVO>();

	private Double couponsMoney;

	private String shopOrderNumber;

	private String logisticsNumber;

	private Integer type;
	@DateTimeFormat(pattern = DateUtil.DATE_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializerHMS.class)
	private Date confirmTime;

	@DateTimeFormat(pattern = DateUtil.DATE_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializerHMS.class)
	private Date deliveryTime;

	private List<MemberCardUseBO> memberCardUseList;

	// 使用名称，使用者电话，预约时间

	private String consumeName;

	private String consumePhone;

	@DateTimeFormat(pattern = DateUtil.DATETIME_PATTERN_DEFAULT)
	@JsonSerialize(using = CustomDateSerializerHMS.class)
	private Date reserveTime;

	//桌号
	private String tableNumber;
	
	private String province;
	
	private String city;
	
	private String county;
	
	private String shopAddress;
	
	private String shopMobilePhone;
	
	private Double lat;
	
	private Double lng;
	
	private String validationCode;

	private String qrCode;
	
	private Double foodBoxCharge;
	
	public Double getFoodBoxCharge() {
		return foodBoxCharge;
	}

	public void setFoodBoxCharge(Double foodBoxCharge) {
		this.foodBoxCharge = foodBoxCharge;
	}
	
	public String getValidationCode() {
		return validationCode;
	}

	public void setValidationCode(String validationCode) {
		this.validationCode = validationCode;
	}

	public String getQrCode() {
		return qrCode;
	}

	public void setQrCode(String qrCode) {
		this.qrCode = qrCode;
	}

	public String getShopAddress() {
		return shopAddress;
	}

	public void setShopAddress(String shopAddress) {
		this.shopAddress = shopAddress;
	}

	public String getShopMobilePhone() {
		return shopMobilePhone;
	}

	public void setShopMobilePhone(String shopMobilePhone) {
		this.shopMobilePhone = shopMobilePhone;
	}

	public Double getLat() {
		return lat;
	}

	public void setLat(Double lat) {
		this.lat = lat;
	}

	public Double getLng() {
		return lng;
	}

	public void setLng(Double lng) {
		this.lng = lng;
	}

	public String getTableNumber() {
		return tableNumber;
	}

	public void setTableNumber(String tableNumber) {
		this.tableNumber = tableNumber;
	}

	public String getConsumeName() {
		return consumeName;
	}

	public void setConsumeName(String consumeName) {
		this.consumeName = consumeName;
	}

	public String getConsumePhone() {
		return consumePhone;
	}

	public void setConsumePhone(String consumePhone) {
		this.consumePhone = consumePhone;
	}

	public Date getReserveTime() {
		return reserveTime;
	}

	public void setReserveTime(Date reserveTime) {
		this.reserveTime = reserveTime;
	}

	public Date getConfirmTime() {
		return confirmTime;
	}

	public void setConfirmTime(Date confirmTime) {
		this.confirmTime = confirmTime;
	}

	public String getShopOrderNumber() {
		return shopOrderNumber;
	}

	public void setShopOrderNumber(String shopOrderNumber) {
		this.shopOrderNumber = shopOrderNumber;
	}

	public Double getCouponsMoney() {
		return couponsMoney;
	}

	public void setCouponsMoney(Double couponsMoney) {
		this.couponsMoney = couponsMoney;
	}

	public Double getGoodsPrice() {
		return goodsPrice;
	}

	public void setGoodsPrice(Double goodsPrice) {
		this.goodsPrice = goodsPrice;
	}

	public Date getPayTime() {
		return payTime;
	}

	public void setPayTime(Date payTime) {
		this.payTime = payTime;
	}

	public String getAddressId() {
		return addressId;
	}

	public void setAddressId(String addressId) {
		this.addressId = addressId;
	}

	public String getMobilePhone() {
		return mobilePhone;
	}

	public void setMobilePhone(String mobilePhone) {
		this.mobilePhone = mobilePhone;
	}

	public String getUserName() {
		return userName;
	}

	public void setUserName(String userName) {
		this.userName = userName;
	}

	public String getAddress() {
		return address;
	}

	public void setAddress(String address) {
		this.address = address;
	}

	public void addGoods(OrdersGoodsVO ordersGoodsVO) {
		this.goods.add(ordersGoodsVO);
	}

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public Date getCreatedTime() {
		return createdTime;
	}

	public void setCreatedTime(Date createdTime) {
		this.createdTime = createdTime;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Double getPostage() {
		return postage;
	}

	public void setPostage(Double postage) {
		this.postage = postage;
	}

	public List<OrdersGoodsVO> getGoods() {
		return goods;
	}

	public void setGoods(List<OrdersGoodsVO> goods) {
		this.goods = goods;
	}

	public Integer getPayWay() {
		return payWay;
	}

	public void setPayWay(Integer payWay) {
		this.payWay = payWay;
	}

	public String getShopName() {
		return shopName;
	}

	public void setShopName(String shopName) {
		this.shopName = shopName;
	}

	public Double getPayMoney() {
		return payMoney;
	}

	public void setPayMoney(Double payMoney) {
		this.payMoney = payMoney;
	}

	public String getShopId() {
		return shopId;
	}

	public void setShopId(String shopId) {
		this.shopId = shopId;
	}

	public String getOrderNumber() {
		return orderNumber;
	}

	public void setOrderNumber(String orderNumber) {
		this.orderNumber = orderNumber;
	}

	public String getShopHeadImgUrl() {
		return shopHeadImgUrl;
	}

	public void setShopHeadImgUrl(String shopHeadImgUrl) {
		this.shopHeadImgUrl = shopHeadImgUrl;
	}

	public String getLogisticsNumber() {
		return logisticsNumber;
	}

	public void setLogisticsNumber(String logisticsNumber) {
		this.logisticsNumber = logisticsNumber;
	}

	public Integer getType() {
		return type;
	}

	public void setType(Integer type) {
		this.type = type;
	}

	public Date getDeliveryTime() {
		return deliveryTime;
	}

	public void setDeliveryTime(Date deliveryTime) {
		this.deliveryTime = deliveryTime;
	}

	public List<MemberCardUseBO> getMemberCardUseList() {
		return memberCardUseList;
	}

	public void setMemberCardUseList(List<MemberCardUseBO> memberCardUseList) {
		this.memberCardUseList = memberCardUseList;
	}

	public String getProvince() {
		return province;
	}

	public void setProvince(String province) {
		this.province = province;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public String getCounty() {
		return county;
	}

	public void setCounty(String county) {
		this.county = county;
	}
}
